﻿Imports System.Collections.ObjectModel
Imports System.ComponentModel

Public Class Diagnosis
    Inherits BaseMasterInfo
    Implements INotifyPropertyChanged

    Public Property diagnosisDateTime() As Date

    Public Property parentID As Integer?

    Public Property parentName As String = String.Empty

    Private _subItems As New ObservableCollection(Of Diagnosis)
    Public ReadOnly Property subItems As ObservableCollection(Of Diagnosis)
        Get
            Return _subItems
        End Get
    End Property

    Dim _Checked As Boolean
    Public Property Checked As Boolean
        Get
            Return _Checked
        End Get
        Set(ByVal value As Boolean)
            _Checked = value
            NotifyPropertyChanged()
        End Set
    End Property
    Public Event PropertyChanged(ByVal sender As Object, ByVal e As System.ComponentModel.PropertyChangedEventArgs) Implements System.ComponentModel.INotifyPropertyChanged.PropertyChanged

    Private Sub NotifyPropertyChanged(Optional ByVal propertyName As String = Nothing)
        RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propertyName))
    End Sub
End Class
